import router from "@/router"
import store from "@/store"

//判断本地是否有token，如果有，那么就放行
router.beforeEach((to, from, next) => {
    let token = localStorage.getItem('token')
    // console.log(to);
    //to 目标路由对象
    //from 源路由对象
    //next是一个函数，调用之后，可以理解为放行
    if (token) {
        //已经登入，直接放行
        //判断是否有用户菜单
        if (!store.state.permission.userMenu.length) {
            //发起请求，获取远程菜单
            store.dispatch('permission/FETCH_MENU_LIST')
                .then(() => {
                    next({ path: to.path, replace: true, query: to.query })
                })
        } else {
            next()
        }
        // next()
    } else {
        //没有token
        //1.访问的是登入页
        if (to.path == '/login') {
            next()
        } else {
            //2.访问的不是登录页 强行跳转至登入页
            next({ path: '/login' })
        }
    }
    // next()
})
export default router